package model;

import java.util.ArrayList;
import java.util.List;

/**
 * Basis klasse voor alle klasses die als observable
 * willen kunnen dienen.
 */
public abstract class Observable {

    private List<Observer> observers = new ArrayList<Observer>();
    
    public void attach(Observer o) {
        observers.add(o);
    }

    public void detach(Observer o) {
        observers.remove(o);
    }

    public void notifyObservers() {
        for (Observer observer : observers) {
            observer.update();
        }
    }
}
